﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace TestConsole.Practice3
{
    // 실습 목표
    // 관계 연산식 사용하기
    // if문 사용하기
    // 기본적인 입력문 사용하기
    // 간단한 조건문 이용 프로그램 작성하기

    // 문제
    // 한 대학생이 자신의 신용카드의 한도액이 넘었는지를 결정하는 프로그램을 작성하라.
    // 그 학생의 신용카드 관련 데이터는 다음과 같다.
    //  * 카드 번호
    //  * 월초의 잔고
    //  * 이번 달에 구매한 물품들/서비스들의 총액
    //  * 이번 달에 환불 받은 물품들/서비스들의 충액
    //  * 신용한도액
    // 프로그램은 사용자로부터 이러한 값들을 입력 받아야 한다.
    // 새 잔고를 계산하여 출력하라. 사용액이 신용한도액을 초과했는지를 결정하라. 초과했다면
    // '신용카드 사용한도액을 초과하였습니다.'라는 메시지를 출력하라. 그렇지 않다면 
    // 잔액(사용가능액)을 출력하라.
    public class Practice3_3
    {
        // 모범 출력
        // 신용카드 번호를 입력하세요:    1234567890
        // 초기 잔고를 입력하세요:        150000
        // 총구매액을 입력하세요:         950000
        // 총환불액을 입력하세요:         80000
        // 신용한도액을 입력하세요:       1000000
        // 새 잔고(청구액):        1020000.0
        // 신용카드 사용한도액을 초과했습니다.

        // 주의: 위에서 첫 다섯 줄의 수들은 사용자의 입력이다.
        public static void ComputeBalance()
        {
            // 사용자로부터 주어진 데이터를 저장하는 변수들을 선언한다.
            int cardnumber;
            // 여기에 코드를 삽입
            double balance;
            int withdraw;
            int deposit;
            int topwon;

            // 사용자로부터 데이터를 한 번에 하나씩 입력하라고 요청한다.
            // 그리고 입력된 값을 읽는다.
            Console.Write("신용카드 번호를 입력하세요:\t");
            int.TryParse(Console.ReadLine(), out cardnumber);
            // 여기에 코드를 삽입
            Console.Write("초기 잔고를 입력하세요:\t\t");
            double.TryParse(Console.ReadLine(), out balance);
            Console.Write("총구매액을 입력하세요:\t\t");
            int.TryParse(Console.ReadLine(), out withdraw);
            Console.Write("총환불액을 입력하세요:\t\t");
            int.TryParse(Console.ReadLine(), out deposit);
            Console.Write("신용한도액을 입력하세요:\t");
            int.TryParse(Console.ReadLine(), out topwon);

            // 새 잔고를 계산하고 출력한다.
            // 여기에 코드를 삽입
            balance = balance + withdraw - deposit;
            Console.WriteLine("새 잔고(청구액):\t\t{0}", balance);

            // 신용카드의 사용한도액을 초과했는지를 결정한다.
            // 여기에 코드를 삽입
            if (balance > topwon)
                Console.WriteLine("신용카드 사용한도액을 초과했습니다.");
        }
        // 힌트
        // 1. 다섯 개의 입력 값이 요구된다. 따라서 다섯 개의 입력문이 있어야 한다.
        // 2. 사용자로부터 대학생의 카드 번호, 잔고, 총사용액, 총 환불액, 신용한도액을 입력하라는 메시지를 
        //    화면에 출력한다.
        // 3. 사용자가 입력한 값들을 int.TryParse메소드를 이용하여 대응하는 변수들에 저장한다.
        // 4. 문제에 주어진 정보를 이용하여 새 잔고(월초잔고 + 총사용액 - 총환불액)를 계산한다.
        // 5. 새 잔고가 신용한도액보다 큰지를 확인하기 위해 if문을 사용하라.
        // 6. 결과 값들을 출력하라.
        // 7. 프로그램의 결과가 맞는지를 확인하기 위해 여러 개의 다른 입력 값들을 사용하여 프로그램을 
        //    철저하게 시험하라.
    }
}
